package com.example.victory.swagger.model;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;

/**
 * ApiResponseCustomerAccountData
 */
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2021-04-26T10:50:39.083+08:00")

public class ApiResponseCustomerAccountData   {
  @JsonProperty("cashTransitTotal")
  private String cashTransitTotal = null;

  @JsonProperty("otherTransitTotal")
  private String otherTransitTotal = null;

  @JsonProperty("cashTransits")
  @Valid
  private List<CashTransitDetail> cashTransits = null;

  @JsonProperty("otherTransits")
  @Valid
  private List<OtherTransitDetail> otherTransits = null;

  public ApiResponseCustomerAccountData cashTransitTotal(String cashTransitTotal) {
    this.cashTransitTotal = cashTransitTotal;
    return this;
  }

  /**
   * 现金在途资金总额
   * @return cashTransitTotal
  **/
  @ApiModelProperty(value = "现金在途资金总额")


  public String getCashTransitTotal() {
    return cashTransitTotal;
  }

  public void setCashTransitTotal(String cashTransitTotal) {
    this.cashTransitTotal = cashTransitTotal;
  }

  public ApiResponseCustomerAccountData otherTransitTotal(String otherTransitTotal) {
    this.otherTransitTotal = otherTransitTotal;
    return this;
  }

  /**
   * 证券（其他）在途资金总额
   * @return otherTransitTotal
  **/
  @ApiModelProperty(value = "证券（其他）在途资金总额")


  public String getOtherTransitTotal() {
    return otherTransitTotal;
  }

  public void setOtherTransitTotal(String otherTransitTotal) {
    this.otherTransitTotal = otherTransitTotal;
  }

  public ApiResponseCustomerAccountData cashTransits(List<CashTransitDetail> cashTransits) {
    this.cashTransits = cashTransits;
    return this;
  }

  public ApiResponseCustomerAccountData addCashTransitsItem(CashTransitDetail cashTransitsItem) {
    if (this.cashTransits == null) {
      this.cashTransits = new ArrayList<CashTransitDetail>();
    }
    this.cashTransits.add(cashTransitsItem);
    return this;
  }

  /**
   * 现金在途资金明细
   * @return cashTransits
  **/
  @ApiModelProperty(value = "现金在途资金明细")

  @Valid

  public List<CashTransitDetail> getCashTransits() {
    return cashTransits;
  }

  public void setCashTransits(List<CashTransitDetail> cashTransits) {
    this.cashTransits = cashTransits;
  }

  public ApiResponseCustomerAccountData otherTransits(List<OtherTransitDetail> otherTransits) {
    this.otherTransits = otherTransits;
    return this;
  }

  public ApiResponseCustomerAccountData addOtherTransitsItem(OtherTransitDetail otherTransitsItem) {
    if (this.otherTransits == null) {
      this.otherTransits = new ArrayList<OtherTransitDetail>();
    }
    this.otherTransits.add(otherTransitsItem);
    return this;
  }

  /**
   * 证券（其他）在途资金明细
   * @return otherTransits
  **/
  @ApiModelProperty(value = "证券（其他）在途资金明细")

  @Valid

  public List<OtherTransitDetail> getOtherTransits() {
    return otherTransits;
  }

  public void setOtherTransits(List<OtherTransitDetail> otherTransits) {
    this.otherTransits = otherTransits;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiResponseCustomerAccountData apiResponseCustomerAccountData = (ApiResponseCustomerAccountData) o;
    return Objects.equals(this.cashTransitTotal, apiResponseCustomerAccountData.cashTransitTotal) &&
        Objects.equals(this.otherTransitTotal, apiResponseCustomerAccountData.otherTransitTotal) &&
        Objects.equals(this.cashTransits, apiResponseCustomerAccountData.cashTransits) &&
        Objects.equals(this.otherTransits, apiResponseCustomerAccountData.otherTransits);
  }

  @Override
  public int hashCode() {
    return Objects.hash(cashTransitTotal, otherTransitTotal, cashTransits, otherTransits);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiResponseCustomerAccountData {\n");
    
    sb.append("    cashTransitTotal: ").append(toIndentedString(cashTransitTotal)).append("\n");
    sb.append("    otherTransitTotal: ").append(toIndentedString(otherTransitTotal)).append("\n");
    sb.append("    cashTransits: ").append(toIndentedString(cashTransits)).append("\n");
    sb.append("    otherTransits: ").append(toIndentedString(otherTransits)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

